#include"ProgressBar.h"

//函数指针类型
typedef void (*callback_t)(int);
extern char bar[NUM];

//模拟某种下载任务
void DownLoad(callback_t cb)
{
    //下载的文件大小
    int total=1000; //1000MB

    //已经下载的大小
    int curr=0; //0MB

    while(curr<=total)
    {
       //更新进度 
        int rate=(curr*100/total);
        //回调函数 展示进度
        cb(rate);

        //模拟下载耗费的时间
        usleep(10000);

        //循环下载了一部分
        curr+=10;
    }
    printf("\n");
}

void initbar()
{
    memset(bar,0,sizeof(bar));
}


int main()
{
    printf("DownLoad_1:\n");
    initbar();
    DownLoad(progress);

    printf("DownLoad_2:\n");
    initbar();
    DownLoad(progress);

    printf("DownLoad_3:\n");
    initbar();
    DownLoad(progress);

    printf("DownLoad_4:\n");
    initbar();
    DownLoad(progress);
    return 0;
}
